#include<iostream>

using namespace std;

const int N = 1000000;

int a[N] , s[N];
int n ;

int main() {
    cin >> n;
    for (int i = 0 ;i< n;i++) {
        cin >> a[i];
    }

    int res = 0;

    for(int i = 0 , j = 0;i<n;i++){
        s[a[i]]++;
        while(s[a[i]] > 1){
            //当第一次扫到这个数时这个地方的值为1，只有当第二次扫到时才会触发循环条件
            s[a[j]]--;  //j是在后面的一个指针，当i扫到重复元素后，j就i像右移动，将窗口外的值移出去
            j++;
        }
        res = max(res  , i - j + 1);
    }
    printf("%d",res);
    return 0;
}